网络地址转换(NAT)

NAT概述

NAT的概念与实现方式

NAT的工作原理:网络地址转换

NAT实现方式:

静态转换

动态转换

端口多路复用

​ NAT的术语与转换表

访问外部服务器的过程:先查询路由表再查看NAT表进行转换

数据包回来的过程:先查询NAT表进行转换再查询路由表

NAT包含四类地址

​ 内部局部地址

​ 外部局部地址

​ 内部全局地址

​ 外部全局地址

NAT的转换条目

简单转换条目 扩展转换条目

NAT的优缺点

NAT的优点

​ 节省公有合法IP地址

​ 处理地址重叠

​ 增强灵活性

​ 安全性

NAT的缺点

​ 延迟增大

​ 配置和维护的复杂性

​ 不支持某些应用,可以通过静态NAT映射来避免

​ NAT实现方法的工作过程

​ NAT的特征

NAT的的配置

NAT配置步骤

1、接口IP地址配置

2、使用访问控制列表定义那些主机能做NAT

3、决定采用什么公有地址,静态和地址池

Router(config)#ip nat pool pool-name star-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]

4、指定地址转换映射

Router(config)#ip nat inside source static local-ip global-ip [extendable]

Router(config)#ip nat inside source list access-list-number pool pool-name [overload]

5、在内部和外部端口上启用NAT

静态NAT配置实例

将内网地址192.168.100.2 / 192.168.100.3静态转换为合法的外部地址61.159.62.131 / 61.159.62.132,以便访问外部网络或被外部网络访问

设置外部端口的IP地址:

router(config)#interface FastEthernet 0/0 router(config-if)#ip address 61.159.62.130 255.255.255.248 router(config-if)#no shut

设置内部端口的IP地址:

router(config)#interface FastEthernet 1/0 router(config-if)#ip address 192.168.100.1 255.255.255.0 router(config-if)#no shut

建立静态地址转换:

router(config)#ip nat inside source static 192.168.100.2 61.159.62.130 router(config)#ip nat inside source static 192.168.100.3 61.159.62.131

在内部和外部端口上启用NAT:

router(config)#inerface FastEthernet 0/0 router(config)#ip nat outside router(config)#interface FastEthernet 1/0 router(config)#ip nat inside

配置默认路由

router(config)#ip router 0.0.0.0 0.0.0.0 61.159.62.129

实验:静态NAT配置

实验拓扑图

R2接口配置

输入以下命令: conf t int f0/0 ip add 12.0.0.2 255.255.255.0 no shut int f0/1 ip add 13.0.0.1 255.255.255.0 no shut ex ip route 0.0.0.0 0.0.0.0 12.0.0.1

sw接口配置

输入以下命令: conf t no ip routing int f1/2 speed 100 dup full ex

R1接口配置

输入以下命令: conf t int f0/0 ip add 192.168.100.1 255.255.255.0 no shut int f0/1 ip add 12.0.0.1 255.255.255.0 no shut ex ip route 0.0.0.0 0.0.0.0 12.0.0.2

配置PC机地址

分别输入以下命令: PC1> ip 192.168.100.10 192.168.100.1 PC2> ip 192.168.100.20 192.168.100.1 PC3> ip 13.0.0.2 13.0.0.1

测试全网是否互通

输入以下命令: PC1> ping 192.168.100.20 PC1> ping 13.0.0.2

静态NAT地址转换配置

输入以下命令: ip nat inside source static 192.168.100.10 12.0.0.10 ip nat inside source static 192.168.100.10 12.0.0.20 int f0/0 ip nat inside int f0/1 ip nat outside end debug ip nat

测试NAT地址转换配置结果

实验:NAT静态端口映射

实验需求:

Linux搭建的一台Web服务器,局域网地址为192.168.100.100,默认端口为80端口

局域网的网关192.168.100.1

广域网的客户机无法直接访问100.100地址,如果想访问的话就需要做端口映射

映射地址:192.168.100.100:80—>12.0.0.100:8080 win7作为广域网的客户端 CentOS 7做为Web服务器

实验拓扑图

在CentOS7的终端做以下配置

yum install httpd -y vim /var/www/html/index.html this is inside web systemctl start httpd systemctl stop firewalld.service setenforce 0

输入本地地址,对网站进行自测

对CentOS7绑定VMnet1网卡,并配置固定ip192.168.100.100

vim /etc/sysconfig/network-scripts/ifcfg-ens33 将第4行的dhcp改为static IPADDR=192.168.100.100 NETMASK=255.255.255.0 GATEWAY=192.168.100.1

将win10绑定VMnet2网卡,并配置固定ip12.0.0.12

配置路由器网关地址

conf t int f0/0 ip add 192.168.100.1 255.255.255.0 no shut ex int f0/1
ip add 12.0.0.1 255.255.255.0 no shut ex

静态NAT地址转换配置

ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable int f0/0 ip nat inside int f0/1 ip nat outsid end debug ip nat

再次尝试使用公网地址在win10进行访问,此时可以成功,并且debug可以抓取到地址转换过程